From a4f5899386ddeeff3c92445c5f3cfef82d8bb5fa Mon Sep 17 00:00:00 2001 From: Steven Fackler Date: Mon, 6 Oct 2014 21:04:29 -0700 Subject: [PATCH] Pass features along to rustdoc --- src/cargo/ops/cargo_rustc/mod.rs | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/cargo/ops/cargo_rustc/mod.rs b/src/cargo/ops/cargo_rustc/mod.rs index 4260ab34f..d21b6671d 100644 --- a/src/cargo/ops/cargo_rustc/mod.rs +++ b/src/cargo/ops/cargo_rustc/mod.rs @@ -306,9 +306,19 @@ fn rustdoc(package: &Package, target: &Target, let pkg_root = package.get_root(); let cx_root = cx.layout(kind).proxy().dest().join("doc"); let rustdoc = process("rustdoc", package, cx).cwd(pkg_root.clone()); - let rustdoc = rustdoc.arg(target.get_src_path()) + let mut rustdoc = rustdoc.arg(target.get_src_path()) .arg("-o").arg(cx_root) .arg("--crate-name").arg(target.get_name()); + + match cx.resolve.features(package.get_package_id()) { + Some(features) => { + for feat in features.iter() { + rustdoc = rustdoc.arg("--cfg").arg(format!("feature=\"{}\"", feat)); + } + } + None => {} + } + let rustdoc = try!(build_deps_args(rustdoc, target, package, cx, kind)); log!(5, "commands={}", rustdoc); -- 2.30.2